package io.zhiller.simpletemplate.api.file_operation

import java.io.File

/**
 * 密封类DownloadStatus表示下载状态，包括未开始、进行中和完成三种状态
 */

data class DownloadFileInfo(
  val downloadUrl: String,
  val saveFile: File? = null
)

sealed class DownloadFileStatus {
  data object INITIAL : DownloadFileStatus()
  data object PROGRESS : DownloadFileStatus()
  
  data class COMPLETED(
    val filePath: String,
    val fileName: String,
  ) : DownloadFileStatus()
  
  data class FAILED(
    val errorMessage: String,
  ) : DownloadFileStatus()
}